package com.sailing.lianxi.design.single;

import sun.security.jca.GetInstance;

/**
 * 双检锁/双重校验锁
 * JDK 版本：JDK1.5 起
 * 是否 Lazy 初始化：是
 * 是否多线程安全：是
 * 描述：这种方式采用双锁机制，安全且在多线程情况下能保持高性能。
 * @author Administrator
 *
 */
public class Singleton4 {

	private volatile static Singleton4 obj;
	
	private Singleton4(){};
	
	public static Singleton4 getInstance(){
		if(obj==null){
			synchronized (Singleton4.class) {
				if(obj==null){
					obj = new Singleton4();
				}
			}
		}
		return obj;
		
	}
}
